iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0
Mobile Development

初窺Flutter系列 第 9

Widgets-ListView(列表)

  • 分享至 

  • xImage
  •  

ListView可在應用程序中創建可滾動的列表視圖。可以垂直或水平方向排列子項,並且包含各種不同類型的子項,例如文本、圖像、按鈕等。

1.基本用法:默認垂直

Widget build (BuildContext context){
    return new MaterialApp(
      home:new Scaffold(
        body:new ListView(
          children: <Widget>[
            new ListTile(
              leading: new Icon(Icons.alarm), //列表項前面的圖標
              title:new Text('Alarm') //列表文字
            ),
            new ListTile(
              leading: new Icon (Icons.phone),
              title:new Text('Phone')
            ),
          ],
        ),
      ),
    );
  }

結果
https://ithelp.ithome.com.tw/upload/images/20230924/20162684nTivq3ESte.png

2.水平方向:通過設置 scrollDirection 屬性來更改滾動方向,使其變為水平滾動

 Widget build (BuildContext context){
    return new MaterialApp(
      home:new Scaffold(
        body:new ListView(
          scrollDirection: Axis.horizontal,  //設定為水平滾動
          children: <Widget>[
            new Container(
              width: 150.0,
              color: Colors.amber,
            ),
            new Container(
              width: 150.0,
              color: Colors.lightBlueAccent,
            ),
            new Container(
              width: 150.0,
              color: Colors.black,
            ),
          ],
        ),
      ),
    );
  }

結果
https://ithelp.ithome.com.tw/upload/images/20230924/201626842lhaQfavKc.png

3.大量列表:當一次有大量列表要創建時,可以使用ListView.builder,減少程式碼長度。

Widget build (BuildContext context){
    return new MaterialApp(
      home:new Scaffold(
        body:new ListView.builder(
            itemCount: 100, 設定列表的總數
            itemBuilder: (context,index){   //itemBuilder 構建每個列表
              return new ListTile(
                title: new Text('Item $index'),
              );
        },
        ),
        ),
      );

  }

結果:確實生成了一百個列表
https://ithelp.ithome.com.tw/upload/images/20230924/20162684Z423YKjThq.png
https://ithelp.ithome.com.tw/upload/images/20230924/20162684T5v842LYoG.png

了解了一些基礎列表的使用,明天打算來學習另一種列表方式-網格列表

ps:之前的文章有大致理解了運行所需之程式碼的用途,故之後的程式碼只會放出重點部分


上一篇
Widgets-Container(容器)
下一篇
Widgets-GridView(網格列表)
系列文
初窺Flutter30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言